#pragma once

#include "../app_status_bar_conf.h"
#if !STATUS_BAR_USE_TOPIC_MESSENGER

#include "app_manager_type.h"

/**
 * @brief 设置状态栏是否显示
 *
 * @param en true/false
 */
void status_bar_show_en(bool en);

#if (STATUS_BAR_USE_NOTIFICATION || STATUS_BAR_USE_CONTROL_CENTER)
/**
 * @brief 设置状态栏是否展开
 * 
 * @param en true/false
 */
void status_bar_expand(bool en);
#endif

#if STATUS_BAR_USE_TIME
/**
 * @brief 设置状态栏时间
 *
 * @param year 年份后两位
 * @param month 月
 * @param day 日
 * @param week 周 0-6，0为周日
 * @param hour 时
 * @param minute 分
 * @param second 秒
 */
void status_bar_set_time(uint8_t year, uint8_t month, uint8_t day, uint8_t week, uint8_t hour, uint8_t minute, uint8_t second);
#endif

#if STATUS_BAR_USE_BATTERY
/**
 * @brief 设置状态栏电量显示
 *
 * @param soc 0-100
 */
void status_bar_set_soc(uint8_t soc);

/**
 * @brief 设置状态栏充电状态
 *
 * @param state true/false
 */
void status_bar_set_charge_state(bool state);
#endif

#if STATUS_BAR_USE_WIFI
/**
 * @brief 设置状态栏wifi信号等级
 *
 * @param level 0-4 0-4信号等级  超过4则断开连接不显示图标
 */
void status_bar_set_wifi_rssi_level(uint8_t level);
#endif

#if STATUS_BAR_USE_BT
/**
 * @brief 设置状态栏蓝牙状态
 *
 * @param state true/false
 */
void status_bar_set_bt_state(bool state);
#endif

#endif
